启用验证

启用验证

2.1 创建用户管理员账户.

只能对单个数据库授权, 怎么对整体用户授权。

1
2
3
4
5
6
7
8
9
use admin

db.createUser(
{
user: "adminUser",
pwd: "adminPass",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

断开 mongodb 连接, 关闭数据库

2.2 Mongodb 用户验证登陆

现在有两种方式进行用户身份的验证

  • 类似 MySql)
    客户端连接时,指定用户名,密码,db名称
1
mongo --port 27017 -u "lyl" -p "123456" --authenticationDatabase "admin"
  • 客户端连接后,再进行验证
1
2
3
4
mongo --port 27017

use admin
db.auth("adminUser", "adminPass")

创建普通用户

创建普通用户
过程类似创建管理员账户,只是 role 有所不同

1
2
3
4
5
6
7
8
9
10
use foo

db.createUser(
{
user: "simpleUser",
pwd: "simplePass",
roles: [ { role: "readWrite", db: "foo" },
{ role: "read", db: "bar" } ]
}
)